﻿using MediatR;
using RearLivestock.Common.Domains.Enum;
using RearLivestock.Common.Dtos;

namespace RearLivestock.Beginning.Api.Application.Command.PigArchives
{
    /// <summary>
    /// 猪只基本信息添加Command
    /// </summary>
    public class AddBasicCommand : IRequest<Result>
    {
        /// <summary>
        /// 基本信息Id
        /// </summary>
        public int BasicInforId { get; set; }
        /// <summary>
        /// 耳号
        /// </summary>
        public string EarNumber { get; set; } = string.Empty;
        /// <summary>
        /// 电子耳标号
        /// </summary>
        public string Electronicearlabel { get; set; } = string.Empty;
        /// <summary>
        /// 基因等级枚举
        /// </summary>
        public GeneticlevelEnums GeneticlevelEnums { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public int Gender { get; set; }

        /// <summary>
        /// 品种ID
        /// </summary>
        public int VarietiesId { get; set; }

        /// <summary>
        /// 父亲耳号
        /// </summary>
        public string FatherEarNumber { get; set; } = string.Empty;
        /// <summary>
        /// 母亲耳号
        /// </summary>
        public string MotherEarNumber { get; set; } = string.Empty;
        /// <summary>
        /// 出生日期
        /// </summary>
        public DateTime BirthDate { get; set; }
        /// <summary>
        /// 入场日期
        /// </summary>
        public DateTime EntryDate { get; set; }
        /// <summary>
        /// 出生场地
        /// </summary>
        public string Birthplace { get; set; } = string.Empty;
        /// <summary>
        /// 出生重量
        /// </summary>
        public decimal BirthWeight { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; } = string.Empty;
        /// <summary>
        /// 出生状态
        /// </summary>
        public BirthStatusEnums BirthStatus { get; set; }

        /// <summary>
        /// 猪只类型Id
        /// </summary>
        public int PigTypeId { get; set; }
        /// <summary>
        /// 栋舍id
        /// </summary>
        public int BedroomId { get; set; }

        /// <summary>
        /// 栏位id
        /// </summary>
        public int FieldId { get; set; }
        /// <summary>
        /// 在场状态枚举
        /// </summary>
        public PresentstatusEnums Presentstatus { get; set; }
        /// <summary>
        /// 繁殖状态枚举
        /// </summary>
        public ReproductivestatusEnums Reproductivestatus { get; set; }
        /// <summary>
        /// 生产等级枚举
        /// </summary>
        public ProductiongradeEnums Productiongrade { get; set; }
        /// <summary>
        /// 销售等级枚举
        /// </summary>
        public SaleslevelEnums Saleslevel { get; set; }
        /// <summary>
        /// 是否妊检
        /// </summary>
        public int IsPregnancyexam { get; set; }
    }
}
